#ifndef TCP_CONNECTION_HPP
#define TCP_CONNECTION_HPP

#include <string>
#include <memory>

// 前置声明
class TcpConnection;

// 智能指针类型定义
using TcpConnectionPtr = std::shared_ptr<TcpConnection>;

// TcpConnection 类定义
class TcpConnection {
public:
    // 构造函数
    explicit TcpConnection(int fd, const std::string& peerAddress);

    // 发送数据
    void send(const std::string& message);

    // 获取对端地址
    std::string getPeerAddress() const;

    // 判断连接是否有效
    bool connected() const;

private:
    int fd_;                  // 文件描述符
    std::string peer_address_; // 对端地址
    bool is_connected_;        // 连接状态
};

#endif // TCP_CONNECTION_HPP